package com.sc.nft.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.sc.nft.enums.OrderStatusEnum;
import com.sc.nft.enums.PayMethodEnum;
import com.sc.nft.sup.SuperEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 二级-权益道具订单表(sc_second_equity_props_order)实体类
 *
 * @author Sun
 * @description 由 Mybatisplus Code Generator 创建
 * @since 2024-04-07 14:18:41
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("sc_second_equity_props_order")
public class SecondEquityPropsOrder extends SuperEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 寄售Id
     */
    private Long secondEquityPropsId;
    /**
     * 道具Id
     */
    private Long equityPropsId;
    /**
     * 用户权益道具Id
     */
    private Long userEquityPropsId;
    /**
     * 寄售用户Id
     */
    private Long salesUserId;
    /**
     * 购买用户Id
     */
    private Long buyUserId;
    /**
     * 购买价格
     */
    private BigDecimal buyPrice;

    /**
     * 手续费
     */
    private BigDecimal charge;
    /**
     * 状态
     */
    private OrderStatusEnum status;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 交易时间
     */
    private Date dealTime;
    /**
     * 交易时间
     */
    private Date payTime;
    /**
     * 关闭时间
     */
    private Date closeTime;
    /**
     * 实际关闭时间
     */
    private Date realCloseTime;
    /**
     * 实际到账金额
     */
    private BigDecimal realAmount;
    /**
     * 藏品名称
     */
    private String firstTitle;
    /**
     * 购买总数量
     */
    private Integer buySumCount;

    /**
     * 是否结算支付
     */
    private Boolean isSettlePay;

    /**
     * 店铺Id
     */
    private Long shopId;

    /**
     * 求购单Id
     */
    private Long wantBuyOrderId;
    /**
     * 出售单Id
     */
    private Long wantSellOrderId;

    /**
     * @see PayMethodEnum
     */
    @ApiModelProperty("收款方式")
    private PayMethodEnum receiveType;

    @ApiModelProperty("二级求购单id")
    private Long secondWantBuyOrderId;

    @ApiModelProperty("是否求购单")
    private Boolean isSecondWantBuyOrder;

}